include_rules = [
  "+cc/switches.h", # For cc command line switches.
  "+components/display_compositor",
  "+components/variations",
  "+services/ui/public",
  "+third_party/zlib",

  # The renderer_host files should only call upwards in the layering via the
  # delegate interfaces.
  "-content/browser/frame_host",
  "-content/browser/web_contents",
  "-content/public/browser/web_contents.h",
  "-content/public/browser/web_contents_delegate.h",
  "-content/public/browser/web_contents_view.h",
]

specific_include_rules = {
  ".*_(unit|browser)test\.(cc|mm)": [
    "+components/rappor/test_rappor_service.h",
    "+content/browser/frame_host",
    "+content/browser/web_contents",
    "+content/public/browser/web_contents.h",
    "+content/public/browser/web_contents_view.h",
  ],
  "render_process_host_impl\.cc": [
    "+content/browser/frame_host/render_frame_message_filter.h",
  ],
  "render_widget_host_view_mac\.mm": [
    "+content/browser/frame_host",
    "+content/public/browser/web_contents.h",
  ],
  "ime_adapter_android\.cc": [
    "+content/browser/frame_host",
    "+content/public/browser/web_contents.h",
  ],
  # TODO(nasko): Remove these exceptions once we've untangled the dependency
  # of RenderViewHost on the FrameTree.
  "render_view_host_impl\.(cc|h)": [
    "+content/browser/frame_host/frame_tree.h",
  ],
  "render_widget_helper\.cc": [
    # RenderWidgetHelper is involved in RenderFrameHost creation.
    "+content/browser/frame_host/render_frame_host_impl.h",
  ],
  "render_widget_host_view_aura\.cc": [
    "+content/browser/frame_host",
  ],
  "render_widget_host_view_event_handler\.cc": [
    "+content/browser/frame_host",
  ],
  # TODO(kenrb): RenderWidgetHostViewChildFrame should eventually be moved
  # to content/renderer_host, at which time this can be removed.
  # RenderWidgetHostViewGuest dependency is needed to allow for routing mouse
  # events to the correct owner RenderWidgetHostViewBase. It should be removed
  # when all inner WebContents are based on OOPIF structure (as opposed to
  # BrowserPlugin).
  "render_widget_host_input_event_router.cc": [
    "+content/browser/frame_host/render_widget_host_view_child_frame.h",
    "+content/browser/frame_host/render_widget_host_view_guest.h",
  ],
}
